Appearance
学习里程碑 - 服务端完结
学习里程碑 | 🏆 - 服务端完结
从第一章看到现在的同学,按照小册的内容一起开发,此时你已经有一套基础的 DevOps 项目。
可以完成一套简单的 H5 项目从创建 - 开发 - 构建 - 发布的流程。
学完上述所有章节之后,此时应该能解锁下述技能成就:
- 能够独立完成开发环境的搭建。
- 熟悉基本的服务器操作以及 shell 脚本的开发。
- 熟悉 GitLab 更多的功能,了解 Open Api 与 OAuth2 授权等。
- 熟悉 Egg 框架的开发,能够完成基本的增删改查。
- 对数据库的操作与表设计有一定的了解。
- 对工程化有初步的理解与实践。
服务端的内容至此已经完结,后面将是脚手架篇的内容。此时项目依然是不完整的,也有很多欠缺的地方。
随着后续的内容,会逐步将现有的基础项目进一步丰富起来,最终达到一个可用的完整项目。
如果你有什么疑问,欢迎在评论区提出 👏
QA 环节
1. 为什么一定要使用 GitLab,GitHub 与 Gitee 不行吗?
- 由于这两个平台没有提供私有化部署,私人项目的需要付费使用,对于一个大一点的团队的话,性价比不是非常高。有些团队的代码希望能够自己保密,所以会选择 GitLab 私有化部署
- 其次,在后期的 cli 章节,想针对 GitLab 与 Node 互通做更多的定制,会尝试修改 Server Hook,这一块就需要对 GitLab 的服务端有一定的权限操作。GitHub 与 Gitee 没办法提供到。
2. 只是为了学习目的,如何使用 GitHub 与 Gitee 替换目前的 GitLab
GitHub 与 Gitee 都提供了对应的 open api,并且提供了 OAuth2 认证,下面是两个平台的文档:
另外之前项目中封装过 GitLab Api 也是出于有这种需求的同学考虑,项目中将 GitLab Api 在 helper 封装了一层,业务代码中引用的是封装过后的 api。只要在 help 层将对应的 api 修改掉,业务层是需要修改就能直接使用,不过构建拉取代码的脚本则需要修改。
3. 为什么要写一套基于 GitLab 的 DevOps,GitLab 自带的 CI/CD 不够用吗?
首先,GitLab 的 CI/CD 非常棒,很通用、简单,大多数的小团队可以直接使用。
工程化的主干都是大同小异,但是在每个团队不同业务、场景下也会有自己的优化、定制。
工程化的一套体系不仅仅在 CI/CD 这一块,也包括项目管理、能效、监控等其他的内容,涉及到很多的软件、工具、平台,使用 Node 不仅仅将 GitLab 的功能集成进来,还可以将其他想要的内容集成进来,例如,GitLab 的用户与企业微信、钉钉用户关联打通等操作。
4. 为什么用 Windows 作为 demo 以及使用虚拟机
- Mac 的价格不便宜,也不是所有的程序员的都会使用,很多小型公司的程序员可能还是用台式机办公
- 其次,使用 Mac 的同学,对操作系统,shell 脚本这块,一般都会比 Windows 同学更熟悉,毕竟图形化的界面会弱化一些程序员的必备技能
- Docker 的版本打算放在 Docker 章节统一说,所以在服务端的环境配置就没有写了
- 无论是什么样的虚拟机、WSL2、云服务器或者 Docker,只要能够正常配置完毕开发环境的话,都不会影响服务端的学习。
综上的各种原因,所以第一个版本会以 Widows + 虚拟机的环境配置为主,整个系列补充完整之后可以再补充其他的,如果有同学感兴趣、时间富裕的话可以出相关的博客教学,也可以通知我添加附录。
为什么没有完整项目代码
完整项目代码在上述项目中,需要的同学自取,由于涉及的内容比较多,目前还在抓紧更新项目中。
每个团队与人对工程化实践的链路细节都有所不同,还是建议想学习的同学可以自己多写写,项目只是做个参考,并不是唯一标准。
如果你有什么疑问,欢迎在评论区提出,或者加群沟通。 👏